#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Datetime: 2020/11/30 17:15
# @Author  : CHEN Wang
# @Site    : 
# @File    : mock_data_generator.py
# @Software: PyCharm 

"""
脚本说明:
"""

import random
import numpy as np


def randaom_data():
    """
    rad.seed(n)，n为整数	确定随机数生成种子
    rad.rand(n)，n为整数	生成n个均匀分布的样本值（0，1)
    rad.randint(begin, end, n)	从给定的范围 [begin,end) 内生成n个随机整数
    rad.randn(N,M,...)	生成N*M*...的正态分布矩阵（平均值为0，标准差为1）
    rad.normal(size=(N,M,...))	生成N*M*...的其他正态分布矩阵
    rad.uniform(min,max)	在 [min,max) 范围内生成随机分布的一个样本值
    rad.beta(array1, array2)	生成beta分布的样本值，参数必须大于0
    rad.gamma()	生成gamma分布的样本值

    :return:
    """
    # 　设置随机种子，保证每次生成的随机数一样，可以不设置（去除下面一行代码，将所有的 rd 替换成 np.random 即可）
    rd = np.random.RandomState(888)

    # 随机整数
    matrix = rd.randint(-2, 3, (10, 10))  # 随机生成[-2,3)的整数，10x10的矩阵
    # matrix = rd.randint(-2, 3, [10, 10]) # 效果同上
    # print(matrix)

    # 随机浮点数
    matrix1 = rd.random((5, 5))  # 随机生成一个 [0,1) 的浮点数 ，5x5的矩阵
    # 如果想要生成固定区间的浮点数，可以采用如下两种方法
    # 方法一
    matrix1 = rd.random((5, 5)) * 5 - 2  # 随机生成[-2,3)的浮点数，5x5的矩阵
    # 方法二
    matrix1 = rd.uniform(-2, 3, (5, 5))  # 随机生成[-2,3)的浮点数，5x5的矩阵

    # 生成随机矩阵
    # 1.均匀分布
    matrix_uniform = rd.uniform(-2, 3, (5, 5))  # 随机生生成 [-2,3) 内的均匀分布随机浮点数 ，5x5的矩阵
    # print(matrix_uniform)

    # 2.正态分布
    matrix_normal = rd.normal(5, 1, [5, 5])  # 生成一个正态分布的随机数，均值为 5，标准差为 1，5x5的矩阵
    # print(matrix_normal)

    # 3.泊松分布
    matrix_poisson = rd.poisson(5, (5, 5))  # 生成一个泊松分布的随机数，均值为 5，5x5的矩阵
    # print(matrix_poisson)

    # 4.指数分布
    matrix_exponential = rd.exponential(5, [5, 5])  # 生成一个指数分布的随机数，均值为 5，5x5的矩阵
    # print(matrix_exponential)


def QA_util_random_with_topic(topic='Acc', lens=8):
    """
    explanation:
        生成account随机值

    params:
        * stockNutopicmber ->:
            meaning: 开头
            type: str
            optional: ['Acc']
        * lens ->:
            meaning: 长度
            type: int
            optional: [10]

    return:
        str

    demonstrate:
        Not described

    output:
        Not described
    """

    _list = [chr(i) for i in range(65, 91)] + [chr(i) for i in range(97, 123)] + [str(i) for i in range(10)]

    num = random.sample(_list, lens)
    return '{}_{}'.format(topic, ''.join(num))


if __name__ == '__main__':
    print(QA_util_random_with_topic(input()))
